<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>扫一扫</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
    <link rel="stylesheet" href="__PUBLIC__/css/style.css">
    <link rel="stylesheet" href="__PUBLIC__/css/weui.css">
    <link rel="stylesheet" href="__PUBLIC__/dpa/css/weui.min.css"/>
    <link rel="stylesheet" href="__PUBLIC__/css/example.css"/>
    <script src="__PUBLIC__/js/zepto.min.js"></script>
    <script src="__PUBLIC__/js/jweixin-1.1.0.js"></script>
    <script>
        document.addEventListener('WeixinJSBridgeReady',
                function onBridgeReady(){
                    WeixinJSBridge.call('hideOptionMenu');
                });
        function abc(){
            WeixinJSBridge.call('closeWindow');
        }
        $(function(){
            var requester = '{$requester}';
            if(requester != 'admin'){
                $('#scanQRCode1').hide();
            }
        })
    </script>
<body >
<div style="text-align:center;"><img src="__PUBLIC__/image/saom.jpg" style="margin-top:10%;" width="200px" alt=""></div>
<div class="wxapi_container">
    <div class="lbox_close wxapi_form">
        <h3 id="menu-scan">微信扫一扫</h3>
        <button class="btn btn_primary" id="scanQRCode1">DPA数据同步</button>
        <button class="btn btn_primary" style="background:#6B8E23" id="connQRCode1">DPA报告交接</button>
        <button class="btn btn_primary" onclick="abc()"  style="background:#ef4f4f">退出</button>
    </div>
</div>
<!--加载进度开始-->
<div id="loadingToast" style="display:none;">
    <div class="weui-mask_transparent"></div>
    <div class="weui-toast">
        <i class="weui-loading weui-icon_toast"></i>
        <p class="weui-toast__content">拼命加载中</p>
    </div>
</div>
<!--加载进度结束-->
<!--尾部开始-->
<div class="weui-msg__extra-area">
    <div class="weui-footer">
        <p class="weui-footer__links">
            <a href="javascript:void(0);" class="weui-footer__link">中国航天-神舟软件</a>
        </p>
        <p class="weui-footer__text">Copyright &copy; 2008-2016 </p>
    </div>
</div>
<!--尾部结束-->
</body>
</html>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
    wx.config({
        debug: false,
        appId: 'wx75ac1bf3177e3d67',
        timestamp: {$time},
        nonceStr: '{$noncestr}',
        signature: '{$singature}',
        jsApiList: [
            'openLocation',
            'getLocation',
            'hideOptionMenu',
            'showOptionMenu',
            'closeWindow',
            'scanQRCode',
        ]
    });
    wx.ready(function(){
    });
    wx.error(function(res){
        alert('签名失败');
    });
    // 扫描二维码并返回结果做dpa数据同步
    document.querySelector('#scanQRCode1').onclick = function () {
        var requester = '{$requester}'; //扫描人的委托单位
        var tel = '{$tel}'; //扫描人的委托单位
        //判断是否是管理员进行数据同步
        if(requester != 'admin'){
            alert('抱歉，只有管理员才能进行数据同步操作。');
            abc();
        }
        wx.scanQRCode({
            needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
            scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
            success: function (res) {
                var result = res.resultStr;// 当needResult 为 1 时，扫码返回的结果
                //alert(result);
                $.ajax({
                    type : 'post',
                    data : {data:result},
                    url : '__CONTROLLER__/ajaxverify',  //备用URL '__CONTROLLER__/ajaxverify'
                    success : function(vs){
                        if(vs == 'tablenamefalil'){
                            alert('请确认扫描的二维码是否是DPA数据同步二维码。');
                        }else if(vs == 'schedulecountfail'){
                            alert('dpa数据同步二维码的字段数量不符合规则');
                        }else if(vs == 'schedulefieldfail'){
                            alert('dpa数据同步二维码的字段名称不符合规则');
                        }else if(vs == 'dpasumfail'){
                            alert('该dpa数据不存在,请导盘后再进行操作');
                        }else if(vs == 'savefail'){
                            alert('dpa数据同步失败。');
                        }else if(vs.type == 'ok'){
                            var ts_status = vs.ts_status;
                            var requester = vs.requester;
                            var dpasum = vs.dpasum;
                            if(ts_status == 0){
                                alert('dpa数据同步成功,有推送信息。');
                                $('#loadingToast').css('display','');
                                push_dpa(requester,dpasum);
                            }else{
                                alert('dpa数据同步成功,无推送信息。');
                            }
                        }
                    }
                });
            }
        });
    };

    //推送消息函数
    function push_dpa($requester,$dpasum){
        var requester = $requester;
        var dpasum = $dpasum;
        $.ajax({
            type : 'post',
            data : {requester:requester,dpasum:dpasum},
            url : '__CONTROLLER__/ajax_push_dpa',
            success : function(lis) {
                if (lis == 'ok') {
                    $('#loadingToast').css('display', 'none');
                    alert('推送dpa报告成功。');
                } else {
                    $('#loadingToast').css('display', 'none');
                    alert('推送dpa报告有问题。');
                }
                history.go(-1);
            }
        });
    }

    //  扫描二维码并返回结果做dpa报告交接
    document.querySelector('#connQRCode1').onclick = function () {
        wx.scanQRCode({
            needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
            scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
            success: function (res) {
                var result = res.resultStr;// 当needResult 为 1 时，扫码返回的结果
                //alert(result);
                var requester = '{$requester}'; //扫描人的委托单位
                var tel = '{$tel}'; //扫描人的委托单位
                $.ajax({
                    type : 'post',
                    data : {result:result,requester:requester},
                    url : '__CONTROLLER__/qrcode',
                    success : function(vs){
                        if(vs.ok == 1){
                            $('#loadingToast').css('display','');  //加载进度图标
                            var dpasum = vs.dpasum;
                            wx.getLocation({   //获取当前人员的地理位置
                                type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
                                success: function (res) {
                                    latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                                    longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                                    var wzlocation = longitude+','+latitude;
                                    $('#loadingToast').css('display','none');  //进度图标结束
                                    location.href = '__CONTROLLER__/generate/dpasum/'+dpasum+'/tel/'+tel+'/wzlocation/'+wzlocation;

                                },
                                cancel: function (res) {
                                    alert('用户拒绝授权获取地理位置');
                                }
                            });
                        }else if(vs == 'tablenamefalil'){
                            alert('抱歉,扫描的交接二维码不符合规则,请扫描正确的交接二维码.');
                        }else if(vs == 'dpafieldfail'){
                            alert('抱歉,扫描的交接二维码字段不符合规则,请检查后再进行操作');
                        }else if(vs == 'dpasumfail'){
                            alert('抱歉,该dpa报告不存在,请更新数据后再进行操作');
                        }else if(vs == 'statusfial'){
                            alert('抱歉,该dpa报告尚未完成,请更新数据后再进行操作.');
                        }else if(vs == 'purviewfail'){
                            alert('抱歉,只有实验室管理人员才能扫描此二维码.');
                        }else if(vs == 'connectok'){
                            alert('此二维码的dpa报告已经完成交接,请勿重复操作.');
                        }else if(vs == 'reqfail'){
                            alert('抱歉,您的单位与dpa报告的委托单位不一致.');
                        }else if(vs == 'connectfieldfail'){
                            alert('抱歉,交接二维码的字段信息不符合规则,请确认扫描的二维码');
                        }else if(vs.ok == 2){
                            $('#loadingToast').css('display','');  //加载进度图标
                            var key = vs.key;
                            wx.getLocation({   //获取当前人员的地理位置
                                type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
                                success: function (res) {
                                    latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                                    longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                                    var wzlocation = longitude+','+latitude;
                                    $('#loadingToast').css('display','none'); //进度图标结束
                                    location.href = '__CONTROLLER__/connverify/key/'+key+'/wzlocation/'+wzlocation+'/tel/'+tel;
                                },
                                cancel: function (res) {
                                    alert('用户拒绝授权获取地理位置');
                                }
                            });
                        }
                    }
                })
            }
        });
    };


</script>
